home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
dev
/
lang
/
SmallEiffel.lha
/
SmallEiffel
/
bin_c
/
pretty24.c
< prev
next >
Wrap
C/C++ Source or Header
|
1998-12-22
|
31KB
|
1,410 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79) --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://www.loria.fr/SmallEiffel --
*/
#include "pretty.h"
/*No:RUN_FEATURE_6.use_current_state*/
/*No:RUN_FEATURE_6.rescue_compound*/
/*No:RUN_FEATURE_6.actuals_clients*/
/*No:RUN_FEATURE_6.arguments*/
void r342fe_vffd7(T342* C){
r37add_position(X62start_position((C)->_result_type/*40*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms342_203984);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
void r342initialize(T342* C){
C->_result_type=((T291*)((C)->_base_feature/*32*/))->_result_type/*56*/;
C->_arguments=((T291*)((C)->_base_feature/*32*/))->_arguments/*24*/;
/*[IF*/
if(X62is_anchored((C)->_result_type/*40*/)){
r342fe_vffd7(C);
}
else if(X62is_formal_generic((C)->_result_type/*40*/)){
r37add_position(X62start_position((C)->_result_type/*40*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms342_321828);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
C->_result_type=X62to_runnable((C)->_result_type/*40*/,(C)->_current_type/*4*/);
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
/*[IF*/
if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
{T171*n=malloc(sizeof(*n));
*n=M171;
r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
C->_arguments=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
C->_local_vars=((T291*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
/*[IF*/
if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
C->_local_vars=r162to_runnable((T162*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
}
/*FI]*/
C->_routine_body=((T291*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
/*[IF*/
if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
C->_routine_body=r200to_runnable((T200*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
}
/*FI]*/
/*[IF*/
if(r54require_check((T54*)(oBC11run_control))){
C->_require_assertion=r291run_require((T0*)C);
}
/*FI]*/
/*[IF*/
if(r54ensure_check((T54*)(oBC11run_control))){
C->_ensure_assertion=r291run_ensure((T0*)C);
}
/*FI]*/
C->_rescue_compound=((T291*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
/*[IF*/
if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
/*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
/*]*/
C->_rescue_compound=r200to_runnable((T200*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
}
/*FI]*/
r339add_function((T0*)C);
}
T0* r342start_position(T342* C){
T0* R=NULL;
R=r291start_position((T291*)((C)->_base_feature/*32*/));
return R;
}
/*No:RUN_FEATURE_6.require_assertion*/
/*No:RUN_FEATURE_6.clients_memory*/
/*No:RUN_FEATURE_6.ucs_not_computed*/
/*No:RUN_FEATURE_6.current_type*/
void r342add_client(T342* C,T0* a1){
T2 _i=0;
/*[IF*/
if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
{T319*n=malloc(sizeof(*n));
*n=M319;
r319with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
else{
_i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
/*[IF*/
if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
r313add_client((T313*)(r342run_class(C)),a1);
}
T0* r342run_class(T342* C){
T0* R=NULL;
R=X62run_class((C)->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_6.result_type*/
/*No:RUN_FEATURE_6.base_feature*/
/*No:RUN_FEATURE_6.ensure_assertion*/
void r342make(T342* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
/*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r342run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
/*]*/
r42incr_magic_count((T42*)(oBC11small_eiffel));
C->_use_current_state=15;
r42push((T42*)(oBC11small_eiffel),(T0*)C);
r342initialize(C);
r42pop((T42*)(oBC11small_eiffel));
}
/*No:RUN_FEATURE_6.routine_body*/
/*No:RUN_FEATURE_6.name*/
/*No:RUN_FEATURE_6.local_vars*/
T2 r342arg_count(T342* C){
T2 R=0;
/*[IF*/
if(((C)->_arguments/*36*/)!=((void*)(NULL))){
R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
}
/*FI]*/
return R;
}
T0* r342clients(T342* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*[IF*/
if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
_bc=X62base_class((C)->_current_type/*4*/);
_bfbc=((T291*)((C)->_base_feature/*32*/))->_base_class/*4*/;
/*[IF*/
if((_bc)==((void*)(_bfbc))){
R=((T291*)((C)->_base_feature/*32*/))->_clients/*20*/;
}
else{
R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
}
/*FI]*/
C->_clients_memory=R;
}
else{
R=(C)->_clients_memory/*8*/;
}
/*FI]*/
return R;
}
T6 r342is_exported_in(T342* C,T0* a1){
T6 R=0;
R=r83gives_permission_to((T83*)(r342clients(C)),a1);
return R;
}
/*No:RUN_FEATURE_6.fatal_error*/
T0* r255generic_list(T255* C){
T0* R=NULL;
r255fatal_error_generic_list(C);
return R;
}
T0* r255base_class(T255* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name/*4*/;
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r49base_class(((T49*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms62_37098);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37add_type((T0*)C,((T0*)ms12_47));
r37print_as_fatal_error((T37*)(oBC11eh));
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.base_class_name*/
/*No:TYPE_REAL.start_position*/
/*No:TYPE_REAL.is_formal_generic*/
int fBC255used_as_reference=0;
void r255used_as_reference(void){
if (fBC255used_as_reference==0){
fBC255used_as_reference=1;
r255load_ref(((T0*)ms13_7696));
}}
T6 r255is_a_in(T255* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r255written_mark())==((void*)(X62written_mark(a1)))){
R=1;
}
else{
_ct=(((T313*)a2))->_current_type/*0*/;
_t1=r255to_runnable(C,_ct);
_t2=X62to_runnable(a1,_ct);
/*[IF*/
if((X62run_time_mark(_t1))==((void*)(X62run_time_mark(_t2)))){
R=1;
}
else{
R=X62is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.id*/
/*No:TYPE_REAL.is_pointer*/
T0* r255look_up_for(T255* C,T0* a1,T0* a2){
T0* R=NULL;
R=r41look_up_for((T41*)(r255base_class(C)),a1,a2);
return R;
}
/*No:TYPE_REAL.us_real_ref*/
T0* r255to_runnable(T255* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r255check_type(C);
return R;
}
/*No:TYPE_REAL.us_double_ref*/
/*No:TYPE_REAL.run_type*/
T0* r255run_class(T255* C){
T0* R=NULL;
R=r42run_class((T0*)C);
return R;
}
T6 r255has_creation(T255* C,T0* a1){
T6 R=0;
r37add_position(X65start_position(a1));
r255error(/*(IRF4.6start_position*/(((T49*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms249_100044));
return R;
}
/*No:TYPE_REAL.expanded_initializer*/
/*No:TYPE_REAL.us_item*/
/*No:TYPE_REAL.is_like_current*/
/*No:TYPE_REAL.is_boolean*/
/*No:TYPE_REAL.is_generic*/
/*No:TYPE_REAL.is_bit*/
/*No:TYPE_REAL.is_real*/
T0* r255smallest_ancestor(T255* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X62run_type(a1);
/*[IF*/
if(X62is_integer(_rto)){
R=(T0*)C;
}
else if(X62is_real(_rto)){
R=(T0*)C;
}
else if(X62is_double(_rto)){
R=a1;
}
else{
R=r257smallest_ancestor((T257*)(r255type_real_ref()),_rto);
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.is_any*/
/*No:TYPE_REAL.nb_errors*/
T0* r255run_time_mark(void){
T0* R=NULL;
R=((T0*)ms13_1208);
return R;
}
/*No:TYPE_REAL.is_expanded*/
/*No:TYPE_REAL.is_basic_eiffel_expanded*/
int fBC11type_real_ref=0;
T0*oBC11type_real_ref=NULL;
T0* r255type_real_ref(void){
if(fBC11type_real_ref==0){
T0* _real_ref=NULL;
fBC11type_real_ref=1;
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,((T0*)ms13_7696),NULL);
_real_ref=(T0*)n;
}
{T257*n=malloc(sizeof(*n));
*n=M257;
/*[IRF3.3make*/((((T257*)(n)))->_base_class_name)=(_real_ref);
/*]*/
oBC11type_real_ref=(T0*)n;
}
}
return oBC11type_real_ref;}
int fBC11type_double=0;
T0*oBC11type_double=NULL;
T0* r255type_double(void){
if(fBC11type_double==0){
fBC11type_double=1;
{T251*n=malloc(sizeof(*n));
*n=M251;
r251make(n,NULL);
oBC11type_double=(T0*)n;
}
}
return oBC11type_double;}
/*No:TYPE_REAL.is_string*/
/*No:TYPE_REAL.is_integer*/
/*No:TYPE_REAL.is_like_feature*/
/*No:TYPE_REAL.fz_dot*/
/*No:TYPE_REAL.is_anchored*/
/*No:TYPE_REAL.is_run_type*/
T6 r255is_a(T255* C,T0* a1){
T6 R=0;
/*[IF*/
if((X62is_real(a1))||(X62is_double(a1))){
R=1;
}
else if(r41is_subclass_of((T41*)(r255base_class(C)),X62base_class(a1))){
R=1;
r255used_as_reference();
}
else if((X62run_time_mark(a1))==((void*)(((T0*)ms13_10890)))){
R=1;
((/*UT*/(void)((T251*)(r255type_double()))),r251used_as_reference());
}
/*FI]*/
/*[IF*/
if(!(R)){
r37add_type((T0*)C,((T0*)ms12_17730));
r37add_type(a1,((T0*)ms12_47));
}
/*FI]*/
return R;
}
/*No:TYPE_REAL.is_character*/
/*No:TYPE_REAL.is_reference*/
T0* r255written_mark(void){
T0* R=NULL;
R=((T0*)ms13_1208);
return R;
}
void r255error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r255make(T255* C,T0* a1){
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,((T0*)ms13_1208),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_REAL.is_none*/
/*No:TYPE_REAL.us_real*/
/*No:TYPE_REAL.pretty_print*/
/*No:TYPE_REAL.is_array*/
/*No:TYPE_REAL.fz_inako*/
void r255fatal_error_generic_list(T255* C){
r37add_type((T0*)C,((T0*)ms62_29184));
r37print_as_fatal_error((T37*)(oBC11eh));
}
/*No:TYPE_REAL.is_like_argument*/
void r255load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T49*n=malloc(sizeof(*n));
*n=M49;
r49make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r41run_class((T41*)(r49base_class(((T49*)_cn))));
r313set_at_run_time(((T313*)_rc));
_rf=r313get_feature_with(((T313*)_rc),((T0*)ms13_1764));
}
int fBC255check_type=0;
void r255check_type(T255* C){
if (fBC255check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC255check_type=1;
_bc=r255base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_rc=r255run_class(C);
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(!((((T41*)_bc))->_is_expanded/*20*/)){
r255error(/*(IRF4.6start_position*/(((T49*)((C)->_base_class_name/*4*/)))->_start_position/*4*//*)*/,((T0*)ms255_29722));
}
/*FI]*/
}
/*FI]*/
}}
/*No:TYPE_REAL.is_double*/
/*No:FEATURE_CLAUSE_LIST.add_last*/
void r77get_started(T77* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>(((T79*)((C)->_list/*0*/))->_upper/*8*/))) {
r78add_into((T78*)(r79item((T79*)((C)->_list/*0*/),_i)),a1);
_i=(_i)+(1);
}
}
/*No:FEATURE_CLAUSE_LIST.make*/
void r77pretty_print(T77* C){
T2 _i=0;
_i=1;
while (!((_i)>(((T79*)((C)->_list/*0*/))->_upper/*8*/))) {
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(0);
/*]*/
r310indent((T310*)(oBC11fmt));
/*[IF*/
if(!(r310zen_mode((T310*)(oBC11fmt)))){
r310skip((T310*)(oBC11fmt),1);
}
/*FI]*/
r78pretty_print((T78*)(r79item((T79*)((C)->_list/*0*/),_i)));
_i=(_i)+(1);
}
}
/*No:FEATURE_CLAUSE_LIST.list*/
/*No:FORMAL_GENERIC_LIST.start_position*/
/*No:FORMAL_GENERIC_LIST.item*/
/*No:FORMAL_GENERIC_LIST.count*/
void r76make(T76* C,T0* a1,T0* a2){
T0* _fga=NULL;
T2 _i=0;
T2 _rank=0;
C->_start_position=a1;
C->_list=a2;
_i=(((T264*)a2))->_upper/*8*/;
while (!((_i)==(0))) {
_fga=r264item(((T264*)a2),_i);
_rank=r76index_of(C,(((T263*)_fga))->_name/*0*/);
/*[IF*/
if((_rank)!=(_i)){
r37add_position(/*(IRF4.6start_position*/(((T49*)(((T263*)(r264item(((T264*)a2),_rank)))->_name/*0*/)))->_start_position/*4*//*)*/);
r37add_position(/*(IRF4.6start_position*/(((T49*)((((T263*)_fga))->_name/*0*/)))->_start_position/*4*//*)*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms76_178923);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
_i=(_i)-(1);
}
}
void r76pretty_print(T76* C){
T2 _i=0;
r310put_character((T310*)(oBC11fmt),'\133');
r310level_incr((T310*)(oBC11fmt));
_i=1;
while (!((_i)>(((T264*)((C)->_list/*4*/))->_upper/*8*/))) {
r263pretty_print((T263*)(r264item((T264*)((C)->_list/*4*/),_i)));
_i=(_i)+(1);
/*[IF*/
if((_i)<=(((T264*)((C)->_list/*4*/))->_upper/*8*/)){
r310put_string((T310*)(oBC11fmt),((T0*)ms76_45));
}
/*FI]*/
}
r310put_character((T310*)(oBC11fmt),'\135');
r310level_decr((T310*)(oBC11fmt));
}
T2 r76index_of(T76* C,T0* a1){
T2 R=0;
T0* _to_string=NULL;
_to_string=(((T49*)a1))->_to_string/*0*/;
R=((T264*)((C)->_list/*4*/))->_upper/*8*/;
while (!(((R)==(0))||((_to_string)==((void*)(((T49*)(((T263*)(r264item((T264*)((C)->_list/*4*/),R)))->_name/*0*/))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}
/*No:FORMAL_GENERIC_LIST.list*/
/*No:FORMAL_GENERIC_LIST.fatal_error*/
/*No:CST_ATT_BIT.base_class*/
/*No:CST_ATT_BIT.value_mem*/
T0* r194start_position(T194* C){
T0* R=NULL;
R=X65start_position(/*(IRF4.6first_name*/r67item(((T67*)((C)->_names/*8*/)),1)/*)*/);
return R;
}
T6 r194is_merge_with(T194* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(/*(IRF4.1arguments*/NULL/*)*/),X75arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X62is_a_in(X75result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r171is_a_in((T171*)(X75arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r194merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_BIT.first_name*/
/*No:CST_ATT_BIT.em1*/
/*No:CST_ATT_BIT.header_comment*/
void r194pretty_print_profile(T194* C){
r194pretty_print_names(C);
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
/*[IRF3.1pretty_print_arguments*//*]*/
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
r310put_string((T310*)(oBC11fmt),((T0*)ms75_186));
X62pretty_print((C)->_result_type/*20*/);
}
/*FI]*/
}
/*No:CST_ATT_BIT.names*/
/*No:CST_ATT_BIT.result_type*/
/*No:CST_ATT_BIT.code_require*/
/*No:CST_ATT_BIT.make_e_feature*/
void r194add_into(T194* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r39base_class((T39*)(X65start_position(r67item((T67*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
_fn=r67item((T67*)((C)->_names/*8*/),_i);
/*[IF*/
if(r74has(((T74*)a1),X65to_key(_fn))){
_fn=/*X75first_name*/((T0*)/*(IRF4.6first_name*/r67item(((T67*)(((T183*)(r74at(((T74*)a1),X65to_key(_fn))))->_names/*8*/)),1)/*)*/);
r37add_position(X65start_position(_fn));
r37add_position(X65start_position(r67item((T67*)((C)->_names/*8*/),_i)));
r37error((T37*)(oBC11eh),((T0*)ms75_41905));
/*[IRF3.6append*/{T0* b1=X65to_string(_fn);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
else{
r74put(((T74*)a1),(T0*)C,X65to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r194can_hide(T194* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X75result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X75result_type(a1))==((void*)(NULL)))){
r37add_position(X75start_position(a1));
r194error(r194start_position(C),((T0*)ms75_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X75arguments(a1)))){
/*[IF*/
{/*AT*/r37add_position(X75start_position(a1));
r194error(r194start_position(C),((T0*)ms75_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X62is_a_in((C)->_result_type/*20*/,X75result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms75_54285);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
r7append((T7*)(oBC37explanation),b1);
}/*]*/
r37error((T37*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r194merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_BIT.ensure_assertion*/
T0* r194try_to_undefine(T194* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r37add_position(X65start_position(a1));
_fn2=r67feature_name((T67*)((C)->_names/*8*/),X65to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X65undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC37explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T38*)((T38*)(oBC37positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r194try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X269set_clients*//*[IRF3.3set_clients*/((((T272*)(((T272*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r194merge_header_comments(C,R);
}
else{
r41fatal_undefine(((T41*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_BIT.is_deferred*/
/*No:CST_ATT_BIT.set_clients*/
/*No:CST_ATT_BIT.value*/
/*No:CST_ATT_BIT.nb_errors*/
T0* r194to_run_feature(T194* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X62run_class(a1);
R=r313at(((T313*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 325:
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T325*n=malloc(sizeof(*n));
*n=M325;
r325make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
void r194merge_header_comments(T194* C,T0* a1){
/*[IF*/
if(((T42*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/);
}
else if((/*X75header_comment*/((T0*)(((T183*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X75set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_BIT.arguments*/
/*No:CST_ATT_BIT.require_assertion*/
/*No:CST_ATT_BIT.pretty_print_arguments*/
T0* r194try_to_undefine_aux(T194* C,T0* a1,T0* a2){
T0* R=NULL;
r37add_position(r194start_position(C));
r194error(X65start_position(a1),((T0*)ms185_99414));
r41fatal_undefine(((T41*)a2),a1);
return R;
}
/*No:CST_ATT_BIT.fz_dot*/
void r194error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
void r194make(T194* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T194*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}
void r194pretty_print_names(T194* C){
T2 _i=0;
_i=1;
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
while (!((_i)>(r67count((T67*)((C)->_names/*8*/))))) {
r310put_string((T310*)(oBC11fmt),((T0*)ms75_158));
X65declaration_pretty_print(r67item((T67*)((C)->_names/*8*/),_i));
_i=(_i)+(1);
}
}
void r194pretty_print(T194* C){
r194pretty_print_profile(C);
r194pretty_tail(C);
r310put_character((T310*)(oBC11fmt),'\73');
/*[IF*/
if(((C)->_header_comment/*12*/)!=((void*)(NULL))){
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
r64pretty_print((T64*)((C)->_header_comment/*12*/));
}
else{
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
/*]*/
}
/*FI]*/
}
void r194collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r332fast_has((T332*)(oBC75require_collector),_er))){
r332add_last((T332*)(oBC75require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_BIT.set_header_comment*/
void r194pretty_tail(T194* C){
r310put_string((T310*)(oBC11fmt),((T0*)ms184_1176));
r156pretty_print((T156*)(/*(IRF4.3value*/(C)->_value_mem/*24*//*)*/));
}
/*No:CST_ATT_BIT.clients*/
T0* r282language_name(void){
T0* R=NULL;
R=((T0*)ms12_66440);
return R;
}
/*No:NATIVE_INLINE_WITHOUT_CURRENT.fz_c_inlinewithoutcurrent*/
/*No:NATIVE_INLINE_WITHOUT_CURRENT.pretty_print*/
/*No:RUN_REQUIRE.make*/
/*No:RUN_REQUIRE.list*/
/*No:CALL_INFIX_DIV.feature_name*/
/*No:CALL_INFIX_DIV.right_brackets*/
T0* r116start_position(T116* C){
T0* R=NULL;
R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}
T0* r116add_comment(T116* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
T2 r116to_integer(T116* C){
T2 R=0;
r116error(r116start_position(C),((T0*)ms12_45846));
return R;
}
void r116bracketed_pretty_print(T116* C){
r310put_character((T310*)(oBC11fmt),'\50');
r116pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
}
void r116print_op(T116* C){
r310put_character((T310*)(oBC11fmt),'\40');
/*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
}/*]*/
r310put_character((T310*)(oBC11fmt),'\40');
}
T0* r116to_runnable(T116* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r116runnable_expression((C)->_target/*4*/,a1);
_a=r116runnable_args((C)->_arguments/*8*/,a1);
_tt=X89result_type(_t);
_at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
{/*AT*//*[IF*/
if(X62is_real(_at)){
/*[IF*/
if(X62is_integer(_tt)){
_tbee=X62run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 254: case 252: case 250: case 251: case 255: case 248:
break;
default:
_tbee=NULL;
};{T359*n=malloc(sizeof(*n));
*n=M359;
r359make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
else if(X62is_double(_at)){
/*[IF*/
if((X62is_integer(_tt))||(X62is_real(_tt))){
_tbee=X62run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 254: case 252: case 250: case 251: case 255: case 248:
break;
default:
_tbee=NULL;
};{T359*n=malloc(sizeof(*n));
*n=M359;
r359make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_rf=r116run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r116run_feature_match(C,a1);
R=(T0*)C;
}
else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T116*n=malloc(sizeof(*n));
*n=M116;
r116with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_DIV.us_slash*/
/*No:CALL_INFIX_DIV.fz_bad_argument*/
/*No:CALL_INFIX_DIV.fz_iinaiv*/
T0* r116result_type(T116* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X62is_like_current(R)){
R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 242:
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_DIV.run_feature*/
T0* r116runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r132to_runnable(((T132*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(r132start_position(((T132*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
void r116with(T116* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r116run_feature_match(C,a5);
}
/*No:CALL_INFIX_DIV.fatal_error*/
void r116run_feature_match(T116* C,T0* a1){
r116run_feature_has_result(C);
r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_DIV.arguments*/
T0* r116runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X89to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r37add_position(X89start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_DIV.left_brackets*/
/*No:CALL_INFIX_DIV.implicit_cast*/
void r116print_as_target(T116* C){
r310put_character((T310*)(oBC11fmt),'\50');
r116pretty_print(C);
r310put_character((T310*)(oBC11fmt),'\51');
r310put_character((T310*)(oBC11fmt),'\56');
}
/*No:CALL_INFIX_DIV.arg1*/
void r116run_feature_has_result(T116* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r37add_position(X312start_position((C)->_run_feature/*16*/));
r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
r37fatal_error((T37*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
T0* r116run_feature_for(T116* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X62run_class(X89result_type(a1));
R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_DIV.target*/
void r116error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:CALL_INFIX_DIV.precedence*/
void r116make(T116* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,r116operator(),a2);
C->_feature_name=(T0*)n;
}
{T132*n=malloc(sizeof(*n));
*n=M132;
/*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_DIV.is_current*/
void r116pretty_print(T116* C){
/*[IF*/
if((X89precedence((C)->_target/*4*/))==(13)){
X89pretty_print((C)->_target/*4*/);
}
else if((8)>(X89precedence((C)->_target/*4*/))){
X89bracketed_pretty_print((C)->_target/*4*/);
}
else if((8)<(X89precedence((C)->_target/*4*/))){
X89pretty_print((C)->_target/*4*/);
}
/*AF*/else{
X89pretty_print((C)->_target/*4*/);
}
/*FI]*/
r116print_op(C);
/*[IF*/
if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((8)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else if((8)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_DIV.is_void*/
T0* r116operator(void){
T0* R=NULL;
R=((T0*)ms13_48);
return R;
}
/*No:CALL_INFIX_DIV.atomic_precedence*/
/*No:LOCAL_NAME1.is_used*/
/*No:LOCAL_NAME1.start_position*/
/*No:LOCAL_NAME1.to_string*/
T0* r167twin(T167* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T167*)R)=*C;
return R;
}
T0* r167add_comment(T167* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T214*n=malloc(sizeof(*n));
*n=M214;
r214make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:LOCAL_NAME1.name_clash*/
T2 r167to_integer(T167* C){
T2 R=0;
r167error((C)->_start_position/*4*/,((T0*)ms12_45846));
return R;
}
void r167print_as_target(T167* C){
r310put_string((T310*)(oBC11fmt),(C)->_to_string/*8*/);
r310put_character((T310*)(oBC11fmt),'\56');
}
/*No:LOCAL_NAME1.rank*/
/*No:LOCAL_NAME1.bracketed_pretty_print*/
T0* r167to_runnable(T167* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
_rt=X62to_runnable((C)->_result_type/*12*/,a1);
/*[IF*/
if((_rt)==((void*)(NULL))){
r37add_position(X62start_position((C)->_result_type/*12*/));
r167error((C)->_start_position/*4*/,((T0*)ms167_24548));
}
/*FI]*/
/*[IF*/
if((_rt)==((void*)((C)->_result_type/*12*/))){
R=(T0*)C;
}
else{
R=r167twin(C);
/*[IRF3.3set_result_type*/((((T167*)(((T167*)R))))->_result_type)=(_rt);
/*]*/
}
/*FI]*/
return R;
}
T0* r167written_in(T167* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position/*4*/;
/*[IF*/
if((_sp)!=((void*)(NULL))){
R=(((T39*)_sp))->_base_class_name/*0*/;
}
/*FI]*/
return R;
}
/*No:LOCAL_NAME1.fz_iinaiv*/
/*No:LOCAL_NAME1.set_result_type*/
void r167name_clash_for(T167* C,T0* a1,T0* a2){
T0* _bc=NULL;
T0* _rc=NULL;
T0* _rf=NULL;
_bc=r167base_class_written(C);
/*[IF*/
if(r41has_simple_feature_name(((T41*)_bc),(C)->_to_string/*8*/)){
_rc=X62run_class(a1);
_rf=r313get_feature_with(((T313*)_rc),(C)->_to_string/*8*/);
/*[IF*/
if((_rf)!=((void*)(NULL))){
r37add_position(X312start_position(_rf));
}
/*FI]*/
r167error((C)->_start_position/*4*/,a2);
}
/*FI]*/
}
/*No:LOCAL_NAME1.result_type*/
void r167error(T0* a1,T0* a2){
r37add_position(a1);
r37error((T37*)(oBC11eh),a2);
}
/*No:LOCAL_NAME1.set_rank*/
/*No:LOCAL_NAME1.precedence*/
void r167make(T167* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_to_string=r66item(a2);
}
/*No:LOCAL_NAME1.is_current*/
/*No:LOCAL_NAME1.set_is_used*/
/*No:LOCAL_NAME1.pretty_print*/
/*No:LOCAL_NAME1.is_void*/
T0* r167base_class_written(T167* C){
T0* R=NULL;
R=r49base_class((T49*)(r167written_in(C)));
return R;
}
/*No:LOCAL_NAME1.atomic_precedence*/
/*No:EXPORT_LIST.start_position*/
/*No:EXPORT_LIST.items*/
T0* r302clients_for(T302* C,T0* a1){
T0* R=NULL;
T0* _ei=NULL;
T2 _i=0;
_i=((T303*)((C)->_items/*4*/))->_upper/*8*/;
while (!((_i)==(0))) {
_ei=r303item((T303*)((C)->_items/*4*/),_i);
/*[IF*/
if(r301affect(((T301*)_ei),a1)){
/*[IF*/
if((R)==((void*)(NULL))){
R=(((T301*)_ei))->_clients/*0*/;
}
else{
R=r83merge_with(((T83*)R),(((T301*)_ei))->_clients/*0*/);
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
return R;
}
void r302make(T302* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_items=a2;
}
void r302pretty_print(T302* C){
T2 _i=0;
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(2);
/*]*/
r310indent((T310*)(oBC11fmt));
r310keyword((T310*)(oBC11fmt),((T0*)ms302_7614));
_i=1;
while (!((_i)>(((T303*)((C)->_items/*4*/))->_upper/*8*/))) {
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
r301pretty_print((T301*)(r303item((T303*)((C)->_items/*4*/),_i)));
_i=(_i)+(1);
/*[IF*/
if((_i)<=(((T303*)((C)->_items/*4*/))->_upper/*8*/)){
r310put_character((T310*)(oBC11fmt),'\73');
/*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
/*]*/
r310indent((T310*)(oBC11fmt));
}
/*FI]*/
}
}